package org.Modulo1;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.Calendar;

import android.graphics.Color;
import android.os.Bundle;
import android.os.Environment;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.annotation.SuppressLint;
import android.database.sqlite.SQLiteDatabase;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

@SuppressLint("NewApi")
public class Captura_Manual extends Fragment{
	private static String datos_manuales = "";
	private static String spinner_selected;
	
	public Captura_Manual(){
		
	}
	
	public String selectOpcion(int tipo){
		String ret = "";
		switch(tipo){
			case 0: ret = "Ingreso"; break;
			case 1: ret = "Gasto"; break;
			default: break;
		}
		return ret;
	}
	
	public String selecttipo_Concreto(String tipo){
		return tipo;		
	}
	
	public double selectCantidad(double cant){
		return cant;
	}
	
	public void persistencia(String a, String c, double d){
		Agente_BBDD bdancient = null;
		try {
			bdancient = new Agente_BBDD(this.getActivity());
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		if(bdancient != null){
			if(a.isEmpty())
				datos_manuales = "--";
			else
				datos_manuales = a;
			
			// DUMMY INSERT
			bdancient.insertar(Agente_BBDD.T_CONTABILIDAD, "2013, \"diciembre\", \"GASTO\", 12345, \"Descripcion de movimiento\", \"AUTO\"");
		}
	}
	
	@Override
	public View onCreateView(LayoutInflater li, ViewGroup vg, Bundle b){
		View vista = li.inflate(4, vg, false);
		
		//Obtenemos el spinner con las opciones a introducir manualmente
		Spinner sp_options = ((Spinner) vista.findViewById(4));
		final ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(vista.getContext(),
				2, android.R.layout.simple_spinner_item);
		
		adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		sp_options.setAdapter(adapter);
		
		sp_options.setOnItemSelectedListener(new OnItemSelectedListener() {

			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				
				spinner_selected = (arg0.getItemAtPosition(arg2)
						.toString()+";");				
			}

			
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Apéndice de método generado automáticamente
			}
		});
		
		/*P1*/
		final String a = selectOpcion(adapter.getCount());
		//Obtenemos la entrada de datos si es que hemos seleccionado Otros en 
		//el spinner
		final EditText tipo_concreto = ((EditText) vista.findViewById(1));
		final String c = selecttipo_Concreto(tipo_concreto.toString());
		final EditText cantidad = ((EditText) vista.findViewById(2));
		final  double d = selectCantidad(Double.parseDouble(cantidad.getText().toString()));
		
		
		Calendar cal = Calendar.getInstance();
    	final String mes = convierteMes(cal.get(Calendar.MONTH));
		
		//Obtenemos los botones
		Button introducir = ((Button) vista.findViewById(10));
		introducir.setOnClickListener(new OnClickListener() {
			
			
			public void onClick(View v) {
				// TODO Apéndice de método generado automáticamente
//				datos_manuales = datos_manuales.concat(spinner_selected+" "+
//				cantidad.getText().toString()+"; "+
//				tipo_concreto.getText().toString()+";");
//				System.out.println(datos_manuales);
							
				datos_manuales = "";
			
				
				persistencia(a, c, d);
				ToastIntroducir(v);
			}
		});
		
		Button borrar = ((Button) vista.findViewById(0));
		borrar.setOnClickListener(new OnClickListener() {
			

			public void onClick(View v) {
				// TODO Apéndice de método generado automáticamente
				cantidad.setText(null);
				tipo_concreto.setText(null);
			}
		});
		
		return vista;
	}
	
	private void ToastIntroducir(View v){
		Toast mensaje = Toast.makeText(v.getContext(), "Cantidad Introducida" +
				" con éxito!", Toast.LENGTH_SHORT);
		mensaje.show();
	}
	
	private String convierteMes(int mes){
    	String mes_text = null;
    	switch(mes){
    		case 0: mes_text = "Enero"; break;
    		case 1: mes_text = "Febrero"; break;
    		case 2: mes_text = "Marzo"; break;
    		case 3: mes_text = "Abril"; break;
    		case 4: mes_text = "Mayo"; break;
    		case 5: mes_text = "Junio"; break;
    		case 6: mes_text = "Julio"; break;
    		case 7: mes_text = "Agosto"; break;
    		case 8: mes_text = "Septiembre"; break;
    		case 9: mes_text = "Octubre"; break;
    		case 10: mes_text = "Noviembre"; break;
    		case 11: mes_text = "Diciembre"; break;
    		default:break;
    	}
    	return mes_text;
    }	

}
